#ifndef MOTORLANZADORPAJARITOS_H
#define	MOTORLANZADORPAJARITOS_H

#include "MotorJuego.h"
#include "Escenario.h"
#include "Partida.h"
#include "LanzadorPajaritos.h"

using namespace TP::Juego::Motorizacion;
using namespace TP::Juego::Arena::Actores;

namespace TP { namespace Juego { namespace Motorizacion { 

class MotorLanzadorPajaritos : public MotorJuego {
public:
    /**
     * Crea un motor de lanzamiento de pajaritos.
     * @param escenario Referencia al escenario en donde lanzar pajaritos.
     * @param infoMov Semillas para generar los lanzamientos y movimientos.
     */
    MotorLanzadorPajaritos();

    // Libera los recursos asociados con la instancia.
    virtual ~MotorLanzadorPajaritos();

    // Intenta lanzar un grupo de pajaritos en la partida.
    virtual Ticks notificacionAvanceTiempo (Ticks pTiempo);
    
    virtual Partida* correrPartida (Partida* pPartida);

protected:
    virtual vector<Partida*>& getPartidas();    
    
private:
    vector<Partida*> _partidas;
    vector<LanzadorPajaritos*> _lanzadores;
};
}}}
#endif	/* MOTORLANZADORPAJARITOS_H */

